package com.yzf.wisecoder.wisecoderservice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yzf.wisecoder.wisecodercommon.vo.request.ProjectUserReq;
import com.yzf.wisecoder.wisecoderstorage.mysql.entity.ProjectUserEntity;

import java.util.List;

/**
 * @author jianghuiyong
 * @email jianghuiyong@yunzhangfang.com
 * @date 2020-05-06 17:43:12
 */
public interface ProjectUserService extends IService<ProjectUserEntity> {

    /**
     * 删除项目与用户的关系
     *
     * @param projectIds
     * @return
     */
    boolean removeByProjectIds(List<Long> projectIds);

    /**
     * 保存或修改用户项目关系
     *
     * @param projectUserReq
     * @return
     */
    boolean saveProjectUser(ProjectUserReq projectUserReq);

    /**
     * 删除用户项目关系
     *
     * @param userId
     * @param projectId
     * @return
     */
    boolean removeProjectUser(Long userId, Long projectId);

    /**
     * 根据角色ID，查询用户关系
     *
     * @param roleId
     * @param tenantId
     * @return
     */
    List<ProjectUserEntity> queryByRoleId(Long roleId, Long tenantId);

    /**
     * 查询项目下的人员关系
     *
     * @param projectId
     * @param tenantId
     * @return
     */
    List<ProjectUserEntity> queryByProjectId(Long projectId, Long tenantId);
}

